<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Moedas
 *
 * @author link2
 */
class Moedas extends ADM_Controller {

    //put your code here

    public function __construct() {
        parent::__construct();
        $this->load->language('local/local_moedas');
        $this->load->model('local/local_moedas_model');
        $this->checar_metodo(uri_string());
    }

    public function cadastrar() {
        $v_dados = array();
        $v_dados['title_acao'] = $this->lang->line('title_acao_cadastrar');
        $v_dados['id_moeda'] = '';
        $v_dados['nome_moeda'] = '';
        $v_dados['nomenclatura_moeda'] = '';
        $v_dados['valor_moeda'] = '';
        $v_dados['checked_1'] = '';
        $v_dados['checked_0'] = 'checked="checked"';
        $v_dados['moedas_lista'] = '';
        $v_dados['action_moedas_gravar'] = $this->permissions->get_url('local_moedas_gravar');
        $v_dados['link_listar_moedas'] = $this->permissions->get_url('local_moedas_consultar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('local_moedas_view', $v_dados);
    }

    public function alterar($_id_moeda) {
        $_b_consultar = $this->local_moedas_model->get($_id_moeda);
        $v_dados = array();
        $v_dados['title_acao'] = $this->lang->line('title_acao_alterar');
        $v_dados['id_moeda'] = $_b_consultar->id;
        $v_dados['nome_moeda'] = $_b_consultar->nome;
        $v_dados['nomenclatura_moeda'] = $_b_consultar->nomenclatura;
        $v_dados['valor_moeda'] = formataString(array('entrada' =>  $_b_consultar->valor, 'formato' => 'moedaView', 'casas' => 2));
        $v_dados['checked_1'] = '';
        $v_dados['checked_0'] = '';
        $v_dados['checked_' . $_b_consultar->padrao] = 'checked="checked"';
        $v_dados['moedas_lista'] = '';
        $v_dados['action_moedas_gravar'] = $this->permissions->get_url('local_moedas_gravar');
        $v_dados['link_listar_moedas'] = $this->permissions->get_url('local_moedas_consultar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('local_moedas_view', $v_dados);
    }

    public function gravar() {
        $v_dados = array();
        $this->load->library('form_validation');
        $this->form_validation->set_rules('padrao_moeda', 'lang:lang_title_padrao_moeda', 'trim|required');
        $this->form_validation->set_rules('nome_moeda', 'lang:lang_title_nome_moeda', 'trim|required|callback_moeda_unica[id_moeda]');
        $this->form_validation->set_rules('nomenclatura_moeda', 'lang:lang_title_nomenclatura_moeda', 'trim|required');
        $this->form_validation->set_rules('valor_moeda', 'lang:lang_title_valor_moeda', 'trim|required');

        if ($this->form_validation->run($this) === FALSE) {
            $v_dados['cod'] = 111;
            $v_dados['msg'] = $this->lang->line('lang_msg_submit_warning');
            $v_dados['header'] = $this->lang->line('lang_header_submit_warning');
            $v_dados['campos'] = $this->form_validation->erros_campos_json();
        } else {
            $_dados = array();
            $_dados['padrao'] = trim($this->input->post('padrao_moeda'));
            $_dados['nome'] = trim($this->input->post('nome_moeda'));
            $_dados['nomenclatura'] = strtoupper(trim($this->input->post('nomenclatura_moeda')));
            $_dados['valor'] = formataString(array('entrada' =>  $this->input->post('valor_moeda'), 'formato' => 'moedaDb', 'casas' => 2));

            if ($this->input->post('id_moeda') == '') {
                $v_dados['id_moeda'] = $this->local_moedas_model->cadastrar($_dados);
                $v_dados['cod'] = 999;
                $v_dados['msg'] = $this->lang->line('lang_msg_submit_success');
                $v_dados['header'] = $this->lang->line('lang_header_submit_success');
            } else {
                $this->local_moedas_model->alterar($this->input->post('id_moeda'), $_dados);
                $v_dados['id_moeda'] = $this->input->post('id_moeda');
                $v_dados['cod'] = 999;
                $v_dados['msg'] = $this->lang->line('lang_msg_submit_success');
                $v_dados['header'] = $this->lang->line('lang_header_submit_success');
            }
            if ($this->input->post('padrao_moeda') == 1) {
                $_dados = array();
                $_dados['padrao'] = 0;
                $this->local_moedas_model->alterar_todos($_dados);

                $_dados = array();
                $_dados['padrao'] = 1;
                $this->local_moedas_model->alterar($v_dados['id_moeda'], $_dados);
            }
        }
        echo json_encode($v_dados);
    }

    public function moeda_unica($_nome, $_id) {
        if ($this->input->post($_id) == '') {
            $_b_consultar = $this->local_moedas_model->get_nome($_nome);
            if ($_b_consultar == null) {
                return TRUE;
            } else {
                $this->form_validation->set_message('moeda_unica', $this->lang->line('lang_moeda_unica'));
                return FALSE;
            }
        } else {
            return TRUE;
        }
    }

    public function consultar() {
        $v_dados = array();
        $v_dados['moedas'] = array();
        $_b_consultar = $this->local_moedas_model->consultar_total();
        if ($_b_consultar != null) {
            foreach ($_b_consultar as $k => $v) {
                $v_dados['moedas'][$k]['id'] = $v->id;
                $v_dados['moedas'][$k]['padrao'] = ($v->padrao == 1 ? $this->lang->line('lang_title_padrao_moeda_sim') : $this->lang->line('lang_title_padrao_moeda_nao'));
                $v_dados['moedas'][$k]['nome'] = $v->nome;
                $v_dados['moedas'][$k]['nomenclatura'] = $v->nomenclatura;
                $v_dados['moedas'][$k]['valor'] = formataString(array('entrada' =>  $v->valor, 'formato' => 'moedaView', 'casas' => 2));
                $v_dados['moedas'][$k]['acao'] = anchor(base_cms() . $this->permissions->get_url('local_moedas_alterar') . '/' . $v->id, $this->lang->line('title_acao_alterar'), 'class="btn small"');
            }
        }
        $v_dados['link_cadastrar_moeda'] = $this->permissions->get_url('local_moedas_cadastrar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('local_moedas_lista_view', $v_dados);
    }

}